The present invention relates to adaptations of computer applications.
Computer applications typically require different levels of adaptation or personalization. For example, an application developer can design a core configuration for an application that specifies basic properties and settings for the application. A solution configuration can be used to adapt or personalize the core configuration for a particular industry. A further level of personalization is the customization of the application, which is typically performed by a customer, and which can include adapting the application for a particular company or for a particular country. Yet another level of personalization is user personalization, which can include adapting the application for a particular department or for a particular user.
The personalization of an application usually involves adaptation of the user interface (UI) elements in the application (e.g., buttons in an application toolbar, tabs in a tab strip, columns in a table, or fields in a form, including both label fields and input element fields). User interface elements can be personalized by modifying various attributes or properties associated with the elements. Such attributes and properties can include, for example, the appearance of the elements (e.g., the width, height, font, and color used to display the elements), the position of the elements, the visibility of the elements (e.g., whether the elements are shown or hidden), the enablement of the elements (e.g., whether the elements are enabled or disabled), and the text associated with the elements (e.g., documentation text, tooltip text, etc.). For input elements, attributes and properties can also include default values, value lists (e.g., a list of most recently used values), the mandatory nature of the elements (i.e., whether input is required to be provided), and extended value help. As a result of such personalization, the users of an application may have access to different information or operations associated with the application, depending on the particular adaptations (including the different levels of personalization described above) that were performed to the application.
The different levels and types of personalization for an application can occur at different stages in the development and deployment of the application, and can involve the use of different tools, different interfaces, and different storage areas for the various personalizations.